home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 9 / Amoszine 9 (Disk 3 of 3).adf / Mals_Source_Code.lha / NEW_3D_Display_Buttons.amos / NEW_3D_Display_Buttons.amosSourceCode
AMOS Source Code  |  1980-01-15  |  3KB  |  147 lines

  1. '
  2. '********************************************
  3. '
  4. '           OUTLINED 3D BUTTONS    
  5. '            ----------------- 
  6. '
  7. '         By Malcolm Lavery 1995 
  8. '
  9. '********************************************
  10. '
  11. '
  12. Screen Open 0,640,256,16,Hires
  13. Palette $0,$FFF,,,$CCC,$BBB,$777,$333,$88F,$A00,$800,$A0,$80,$A,$8,$DD8
  14. Curs Off : Cls 0 : Flash Off 
  15. Limit Mouse 0,0 To 640,500
  16. '
  17. Reserve Zone 10
  18. '
  19. _3D_DISPLAY[0,0,640,10,0,8]
  20. _3D_DISPLAY[0,11,640,250,0,6]
  21. _3D_DISPLAY[7,15,625,236,1,6]
  22. '
  23. Ink 0,8
  24. Text 3,7,"FILE:Df0:3D_Buttons_Demo"
  25. '
  26. _3D_BUTTON[1,20,20,200,10,0,"PRESS",6,0]
  27. _3D_BUTTON[2,20,40,200,10,0,"And press here!",6,0]
  28. _3D_BUTTON[3,20,60,600,20,0,"Any size buttons can be drawn",6,0]
  29. _3D_BUTTON[4,20,90,470,150,0,"BIG BUGGER",6,0]
  30. _3D_BUTTON[10,520,225,100,20,0,"QUIT!",6,0]
  31. '
  32. Do 
  33.    '
  34.    TEST=Mouse Zone
  35.    TESTTWO=Mouse Key
  36.    '
  37.    If TESTTWO=1 and TEST=1
  38.       _3D_BUTTON[1,20,20,200,10,1,"PRESS",15,0]
  39.       Bell 
  40.       Wait 10
  41.       _3D_BUTTON[1,20,20,200,10,0,"PRESS",6,0]
  42.    End If 
  43.    '
  44.    If TESTTWO=1 and TEST=2
  45.       _3D_BUTTON[2,20,40,200,10,1,"MAGIC",15,0]
  46.       Bell 
  47.       Wait 10
  48.       _3D_BUTTON[2,20,40,200,10,0,"And press here!",6,0]
  49.    End If 
  50.    '
  51.    If TESTTWO=1 and TEST=3
  52.       _3D_BUTTON[3,20,60,600,20,1,"Big and fat is this button!",15,0]
  53.       Bell 
  54.       Wait 20
  55.       _3D_BUTTON[3,20,60,600,20,0,"Any size buttons can be drawn",6,0]
  56.    End If 
  57.    '
  58.    If TESTTWO=1 and TEST=4
  59.       _3D_BUTTON[4,20,90,470,150,1,"ON!",15,0]
  60.       Bell 
  61.       Wait 20
  62.       _3D_BUTTON[4,20,90,470,150,0,"OFF!",6,0]
  63.    End If 
  64.    '
  65.    If TESTTWO=1 and TEST=10
  66.       _3D_BUTTON[10,520,225,100,20,1,"BYE BYE!",15,0]
  67.       Bell 
  68.       Wait 100
  69.       Fade 5
  70.       Wait 100
  71.       Edit 
  72.    End If 
  73.    '
  74. Loop 
  75. '
  76. Procedure _3D_BUTTON[_ZONENUMBER,X,Y,WIDTH,HEIGHT,IN_OUT,TEX$,_FILL,_INK]
  77.    '
  78.    '
  79.    '
  80.    LE=Text Length(TEX$)
  81.    X_TEXT=X+WIDTH/2
  82.    Y_TEXT=Y+HEIGHT/2+3
  83.    '
  84.    '
  85.    If IN_OUT=0
  86.       HILIGHT=5
  87.       SHADOW=7
  88.    End If 
  89.    '
  90.    '
  91.    If IN_OUT=1
  92.       HILIGHT=7
  93.       SHADOW=5
  94.    End If 
  95.    '
  96.    '
  97.    Ink HILIGHT
  98.    Draw X,Y To X+WIDTH,Y
  99.    Draw X,Y To X,Y+HEIGHT
  100.    '
  101.    Ink SHADOW
  102.    Draw X+WIDTH,Y To X+WIDTH,Y+HEIGHT
  103.    Draw X+WIDTH,Y+HEIGHT To X,Y+HEIGHT
  104.    '
  105.    Ink _FILL
  106.    Bar X+1,Y+1 To X+WIDTH-1,Y+HEIGHT-1
  107.    '
  108.    Gr Writing 0
  109.    Ink _INK
  110.    Text X_TEXT-LE/2,Y_TEXT,TEX$
  111.    Gr Writing 1
  112.    Ink 0
  113.    Box X-1,Y-1 To X+WIDTH+1,Y+HEIGHT+1
  114.    '
  115.    Set Zone _ZONENUMBER,X,Y To X+WIDTH,Y+HEIGHT
  116.    '  
  117. End Proc
  118. Procedure _3D_DISPLAY[X,Y,WIDTH,HEIGHT,IN_OUT,_FILL]
  119.    '
  120.    '
  121.    '
  122.    If IN_OUT=0
  123.       HILIGHT=5
  124.       SHADOW=7
  125.    End If 
  126.    '
  127.    '
  128.    If IN_OUT=1
  129.       HILIGHT=7
  130.       SHADOW=5
  131.    End If 
  132.    '
  133.    '
  134.    Ink HILIGHT
  135.    Draw X,Y To X+WIDTH,Y
  136.    Draw X,Y To X,Y+HEIGHT
  137.    '
  138.    Ink SHADOW
  139.    Draw X+WIDTH,Y To X+WIDTH,Y+HEIGHT
  140.    Draw X+WIDTH,Y+HEIGHT To X,Y+HEIGHT
  141.    '
  142.    Ink _FILL
  143.    Bar X+1,Y+1 To X+WIDTH-1,Y+HEIGHT-1
  144.    '
  145.    '
  146.    '
  147. End Proc